﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;

namespace ConsoleApp1.DbCustom.Models
{
    [Index(nameof(UserId), Name = "AK_KEY_2_Blog_Personal", IsUnique = true)]
    [Index(nameof(UserId), Name = "Index_1")]
    public partial class Blog_Personal
    {
        [Key]
        [StringLength(36)]
        [Unicode(false)]
        public string Id { get; set; } = null!;
        [StringLength(36)]
        [Unicode(false)]
        public string UserId { get; set; } = null!;
        [StringLength(200)]
        public string? Hometown { get; set; }
        [StringLength(200)]
        public string? CurrentAddress { get; set; }
        /// <summary>
        /// 单身
        ///    热恋中
        ///    订婚
        ///    已婚
        ///    离异
        /// </summary>
        public int? MarriageStatus { get; set; }
        [StringLength(100)]
        public string? Position { get; set; }
        [StringLength(100)]
        public string? WorkUnit { get; set; }
        /// <summary>
        /// 学生
        ///    已工作
        ///    待业中
        ///    其它
        /// </summary>
        public int? WorkingStatus { get; set; }
        [StringLength(200)]
        public string? InterestedTechnologies { get; set; }
        [StringLength(200)]
        public string? TheRecentGoals { get; set; }
        [StringLength(200)]
        public string? Motto { get; set; }
        [StringLength(200)]
        public string? SelfIntroduction { get; set; }
        [StringLength(50)]
        public string? Wechat { get; set; }
        [StringLength(50)]
        public string? QQ { get; set; }
        [StringLength(36)]
        [Unicode(false)]
        public string? CreatedBy { get; set; }
        [Column(TypeName = "datetime")]
        public DateTime? CreatedTime { get; set; }
        [StringLength(36)]
        [Unicode(false)]
        public string? LastModifiedBy { get; set; }
        [Column(TypeName = "datetime")]
        public DateTime? LastModifiedTime { get; set; }

        [ForeignKey(nameof(UserId))]
        [InverseProperty(nameof(Sys_User.Blog_Personal))]
        public virtual Sys_User User { get; set; } = null!;
    }
}
